* {
  box-sizing: border-box;
}
html, body {
  margin: 0;
  padding: 0;
}
body {
  width: 100vw;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}

.flex {
  display: flex;
}
.jcc {
  justify-content: center;
}
.aic {
  align-items: center;
}

.form-item {
  margin: 20px 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

.form-area {
  display: flex;
  align-items: center;
  flex: 1;
}

.item {
  width: 100px;
  font-weight: bold;
  text-align: right;
}

.input-text {
  padding: 10px;
  border: 1px solid #ccc;
  width: 300px;
}

.ml30 {
  margin-left: 30px;
}

.btn {
  padding: 5px;
  width: 100%;
}

.none {
  display: none;
}

#container {
  /* display: inline-grid;
  grid-template-columns: calc(100% / 8);
  grid-template-rows: calc(100% / 8); */
  position: relative;
  border-top: 1px solid #ccc;
  border-right: 1px solid #ccc;
  /* overflow: hidden; */
  clear: both;
  background: #aaa;
}

.chess-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  float: left;
  border-bottom: 1px solid #ccc;
  border-left: 1px solid #ccc;
}

.chess-black,
.chess-white {
    width: calc(100% - 9px);
    height: calc(100% - 9px);
    border-radius: 50%;
}

.chess {
  width: 100%;
  height: 100%;
    position: relative;
    -webkit-transition: 0.8s;
    transition: 0.8s;
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;
}

.chess-black,
.chess-white {
    position: absolute;
    top: 4px;
    left: 4px;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

.chess-black {
    z-index: 2;
    background-image: radial-gradient(rgb(51, 51, 51) 30%, black 70%);
}

.chess-white {
    -webkit-transform: rotateY(-180deg);
    transform: rotateY(-180deg);
    background-image: radial-gradient(white 30%, rgb(204, 204, 204) 70%);
}

.chess.change {
    -webkit-transform: rotateY(180deg);
    transform: rotateY(180deg);
}
.tips {
  position: absolute;
  padding: 5px;
  background: rgba(0,0,0,0.2);
  transform: translate(-50%, -50%);
  left: 50%;
  top: 50%;
}
.info {
  position: absolute;
  padding: 5px;
  text-align: center;
  top: 0;
  left: 0;
  width: 100%;
  background: rgba(0,0,0,0.2);
}
.black-dot {
  width: 10px;
  height: 10px;
  background-image: radial-gradient(rgb(51, 51, 51) 30%, black 70%);
  border-radius: 50%;
}
.white-dot {
  width: 10px;
  height: 10px;
  background-image: radial-gradient(white 30%, rgb(204, 204, 204) 70%);
  border-radius: 50%;
}